home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / HARDWARE / AUTOVIDC / ReadMe < prev    next >
Text File  |  1995-02-24  |  11KB  |  183 lines

  1.  
  2. ReadMe for autoVIDC-enhancer version 1.00
  3.  
  4.  © Andreas Barth, 24. Feb 1995
  5.  
  6. This is an instruction on how to build a VIDC-enhancer for older
  7. Archimedes computers A3xx, A4xx and A3000.
  8. All newer models already include the functionality of this enhancement.
  9. The enhancement is switched via Aux1 and/or an external switch.
  10. -
  11. This set of instruction, hardware and software is public domain, the copyright remains with me.
  12. Unlimited distribution and use is allowed for non-profit use, and as long as every part is included in the copy WITHOUT CHANGES. Changes in the source and module are for your personal use only.
  13. The author cannot be made responsible for any damage or loss of data in connection with this manual, software or hardware.
  14. -
  15. This package includes the following files:
  16.     ReadMe        This text.
  17.     Circuit        Drawfile with the circuit and pcb-drawings.
  18.     AutoVIDC    Module with driver-software.
  19.     Source100    Basicfile with source of module.
  20. -
  21.  The Hardware
  22. --------------
  23. The circuit shows the simple functionality of this enhancer.
  24. It simply switches between two clock frequencies, the original 24MHz-signal, coming from the internal source, and the on-board 36MHz oscillator-signal. The result is fed into the normal connection driving the VIDC-chip. The logic has an active-high input, i.e. a high-signal on the Switch-input changes the output-signal to 36MHz.
  25. Fortunately the VIDC-chip doesn't mind if a couple of distorted clock cycles come in, and this makes the design very easy. The logic fits in one IC, then we only need the oscillator, a resistor and a capacitor for buffering. Use a straight socket (plug female, 2 pins) for the clock IN/OUT connector and a 90° plug (male) for the rest (and be sure you have enough connectors for them).
  26. In addition, the computer has got a couple of free I/O-lines, so we can switch the enhancer by some software. In case we have no software at hand, the circuit supports a switch as well.
  27. The external switch should be a "three-position-switch" which has a middle position. So you leave it to the middle for 24MHz-mode, switch it to + for 36MHz-mode or to Aux for automatic switching. If you don't need the switch at all, you can shorten the switch-input with the Aux-output.
  28. The circuit is placed top-down inside the computer, meaning the parts are laying on the mainboard. In this way the pcb only needs very little space and doesn't get into conflicts with other parts.
  29.  
  30. - READ EVERYTHING ABOUT CONNECTIONS BEFORE ASSEMBLING THE CIRCUIT -
  31. Mount everything on a small circuit board, protect the top of your circuit with some tape (otherwise the metallic cap of the oscillator may cause some short-circuits on the mainboard), be sure to have some connectors and cables left and...
  32.  
  33.  Connect the enhancer to the system
  34. ------------------------------------
  35. Archimedes A300 computers
  36. - You should use the inner pair of the clock-input/output connection positions. Otherwise it may get into conflict with the serial port.
  37. - remove the case
  38. - locate PL3 (thats in the middle, very north of the board)
  39.   This is the videoclock-connector, it has two jumpers installed, 1-2,3-4.
  40.   meaning:    1 /cksys, 24MHz
  41.         2 ckVIDC
  42.         3 Sink, VIDC pin 20, TTL-input for external synchronisation.
  43.         4 gnd
  44.   We only need pins 1 and 2 which are the more northern pins.
  45. - remove jumper from pins 1-2.
  46. - plug-on our circuit, top-down(!) There is only one way it fits.
  47.   (The edge of our circuit is placed over pin 2.)
  48. - Connect the power.
  49.   If you don't use your econet port it's practical to make a plug for that. Look for the SK5 connector on the west of the board. It has 17 pins with pin 17 being +5V and pin 16 carrying ground.
  50.   Or you can use another IC, normal TTL-chips have a standard layout that uses pin 8(7) for ground and pin 16(14) for +5V. Do not use IC1 which is not fitted in A300 computers. This is a strange exception to normal rules because its power pins are vice versa to normal chips.
  51. - connect Aux1-cable.
  52.   This signal can be found on the Auxiliary I/O connector PL10, totally west, mid-front(south) on the board. It is normally not fitted, although it's worth fitting it; it's very useful. It has got 5 pins:
  53.     1 Gnd
  54.     2 Aux2    coming from Latch B, IC30 pin 13 (Register bit 6)
  55.     3 Aux1    coming from Latch B, IC30 pin 14 (Register bit 5)
  56.     4 C4      coming from IOC, pin 48, FIQ-input or I/O
  57.     5 /Alarm  coming from clock-chip, IC16 pin 7
  58.   You should somehow manage to solder a cable to pin 3 of that connector or to the pin on the Latch B itself.
  59.   IC30 is the Latch B. Useful pins are:
  60.   12 Bit0 CD0, n.c.
  61.   13 Bit1 CD1, discdrive-enable
  62.   14 Bit2 CD2, n.c.
  63.   15 Bit3 /FDreset, Floppy disc reset
  64.   16 Bit4 Pstb, Printer strobe (output inverted to pin 1 of printer connector)
  65.   17 Bit5 Aux 1
  66.   18 Bit6 Aux 2
  67.   19 Bit7 HS3, Harddisc control line, n.c. on A300, maybe used on A400.
  68.   Note the slight differences to the A3000. You should not use Bit 7, since it is used for some function (write protection ?) of the ST506-harddisc controller.
  69. - connect the switch.
  70. - reassemble computer.
  71.  
  72. Archimedes A400 computers
  73. I have no further information about this main-board, but it will be almost the same like the A300-ones.
  74. - DO NOT USE the power connection from IC1 here, because I don't expect this to be the same as in A300-models !
  75.  
  76. Archimedes A3000 computers
  77. - You should use the outer pair of the clock-input/output connection position on the circuit board. Otherwise it may get into conflict with IC47.
  78. - remove the case
  79. - locate the Genlock expansion socket LK28-31.
  80.   There are two jumpers installed, LK28(1-2) and LK29(1-2).
  81.   meaning:    LK31    1 /SUP, VIDC pin 28, supremacy output for genlock.
  82.             2 gnd
  83.         LK28    1 Ckvidc
  84.             2 /Clksys, 24MHz
  85.         LK29    1 gnd
  86.             2 Sink, VIDC pin 20, TTL-input for external sync.
  87.         LK30    1 /Vs
  88.             2 /Hs
  89.   We only need LK28.
  90. - remove jumper from LK28 pins 1-2.
  91. - plug-on our circuit, top-down(!) I hope it fits...
  92.   (The edge of our circuit is placed over pin 1.)
  93. - Connect the power.
  94.   If you don't use your econet port it's practical to make a plug for that. Look for the SK4 connector somewhere on the board. It has 17 pins with pin 17 being +5V and pin 16 carrying ground.
  95.   Or use the Internal Expansion port:
  96.   SK9:   5 pins, pin  1 is Gnd, pin  5 is +5V
  97.   SK11: 17 pins, pin  1 is Gnd, pin  2 is +5V
  98.   SK3:  17 pins, pin 16 is Gnd, pin 17 is +5V
  99.   Or use the Alternative Keyboard Socket (which is not fitted)
  100.   LK3:   6 pins, pin  3 is Gnd, pin  4 is +5V (buffered)
  101. - connect Aux1-cable.
  102.   This signal can be found on the latch chip only. So you have to solder a wire directly to a pin there. Look for IC18, pin 17. This is the Latch B. Useful pins are:
  103.   12 Bit0 n.c.
  104.   13 Bit1 CD1, discdrive-enable
  105.   14 Bit2 n.c.
  106.   15 Bit3 /FDreset, Floppy disc reset
  107.   16 Bit4 Pstb, Printer strobe (output inverted to pin 1 of printer connector)
  108.   17 Bit5 n.c. (Aux 1)
  109.   18 Bit6 n.c. (Aux 2)
  110.   19 Bit7 n.c.
  111.   Note the slight differences to the A300. You should not use Bit 7, since it is used for some function (write protection ?) of the ST506-harddisc controller.
  112. - connect the switch.
  113. - reassemble computer.
  114.  
  115.  The software
  116. --------------
  117. As simple as can be, the small program installs itself as a module after a brief test for the correct hardware and hooks into the service-call vektor, waiting for mode-changes to occur. On a mode-change, it looks for the mode-number and checks its internal list whether to switch the Aux1-pin on or off.
  118. Two *commands allow to check and change the list.
  119. By default only mode 29,30,31,32 are set as 'enhanced'.
  120. The module should work on RiscOs 2 and 3, although I wasn't able to test it under RO2.
  121.  
  122. The module AutoVIDC was brought to light by Jens H. Ovesen, and I like to thank him for the address of the shadow-register of Latch B, that I was unable to find before. I developed it further because I want to include it on my Podule-ROM and load it automatically when my computer starts. Hence, it must be able to decide upon the hardware, whether to run or not. I like to thank the maker(s) of !ArmSI who made me aware of how to test the hardware. (I don't look into the PRMs at the first place ;-)
  123.  
  124. Here are the relevant addresses that might interest you:
  125. .LatBShadow% EQUD &00000105      ; contains Value of LatchB
  126. .LatchB%     EQUD &03350018      ; Hardware address of LatchB
  127. Address &105 is of internal use by ADFS and cannot be looked up anywhere, as far as I know.
  128. Any changes to Latch B are done to its shadow as well. And the shadow-register can be read, while the hardware-register cannot be read -- DON'T TRY IT. This will change to contents of the latch to &ff or something else that you might not like.
  129. Modify it as follows:
  130.     LDR     R0,LatBShadow%       ; Load address of Aux1-contents
  131.     LDR     R1,LatchB%           ; Load address of Aux1-Hardware
  132.  
  133.     LDRB    R2,[R0,#0]           ; Load Aux1-Shadow
  134.  
  135.     ORRCS   R2,R2,#&20           ; set Aux1-Bit.
  136.     BICCC   R2,R2,#&20           ; reset Aux1-Bit.
  137.  
  138.     STRB    R2,[R0,#0]           ; set Aux1-Shadow
  139.     STRB    R2,[R1,#0]           ; set Aux1-Hardware
  140.  
  141.  Problems with other hardware
  142. ------------------------------
  143. iicAlarm 1.00
  144. Quite some while ago, I released a small hardware called "iicAlarm" which switches the computer on and off automatically. It uses the Alarm-line of the clock-chip for the "switch-on" effect (at a given time) and the Aux1/2 line for switching off. In release 1.00, the circuit has a jumper for selecting either Aux1 or Aux2. Ok, set it to Aux2. But the software always used both bits to signal the switch-off-operation.
  145. Have a look at the application directory of !iicAlarm.
  146.   Edit the Basic-Program "SwitchOff"
  147.   Edit the following line:
  148.      REM Set both Aux1/2-lines
  149.      A% = 3                       ; change to 2 for Aux2
  150.      CALL AuxSet
  151. Have a look at the subdirectory !iicAlarm.Tools.!AlarmShut
  152.   Edit the Basic-Program "!Runimage"
  153.   Edit the following line:
  154.      DEF PROCNULLevent
  155.         ...
  156.            CASE status% OF
  157.            ...
  158.            WHEN 3 : tm% = TIME + 2000
  159.                     REM Shutflag gesetzt. Also alle Tasks weg und alle Files
  160.                     REM geschlossen.Jetzt koenen wir die Aux-Leitungen setzen.
  161.                     A% = 3: CALL AuxSet
  162.         ...              ^-- change to 2 for Aux2
  163.      ENDPROC
  164. Well, if someone is interested, I will develop a new version....it's possible for new models as well...
  165.  
  166. That's it as far as I know.
  167.  
  168.  
  169.  The end
  170. ---------
  171. If you like to give me some comments, write to:
  172.  Andreas Barth
  173.   Karl-Eberhardstr. 9
  174.   W-51643 Gummersbach
  175.     Germany
  176.   Tel. 0049 2261/27042
  177.   EMail: Andreas_Barth@ruba.rz.ruhr-uni-bochum.de
  178.               barthabx@rubc.rz.ruhr-uni-bochum.de
  179.  
  180. ToDo
  181. -----
  182. I think there's nothing more to develop, so I do not intend to do anything more about it, unless there is a serious fault somewhere in it.
  183.